package com.nan.leetcode;
//给定一个包含n + 1 个整数的数组nums ，其数字都在 1 到 n之间（包括 1 和 n）
//        可知至少存在一个重复的整数。
//        假设 nums 只有 一个重复的整数 ，找出 这个重复的数 。
//        来源：力扣（LeetCode）
//        链接：https://leetcode-cn.com/problems/find-the-duplicate-number
public class Test2 {
    public int findDuplicate(int[] nums) {
        if (nums == null || nums.length < 2) {
            int a = nums[0];
            return a;
        }
        for (int i = 0; i < nums.length - 1; i++) {
            int tmp = nums[i];
            for (int j = i + 1; j < nums.length; j++) {
                if (tmp == nums[j]) {
                    return tmp;
                }
            }
        }
        return -1;
    }

    //给你一个字符串 s ，将该字符串中的大写字母转换成相同的小写字母，返回新的字符串。
    public static String toLowerCase(String s) {
        char[] data = s.toCharArray();//将字符串转换为字符串数组
        for (int i = 0; i < data.length; i++) {
            if (data[i] >= 'A' && data[i] <= 'Z') {
                data[i] = (char) (data[i] + 32);
            }
        }
        String str1 = new String(data);//将字符数组转换为字符串
        return str1;
    }

    public static void main1(String[] args) {
        String str = "Hello";
        System.out.println(toLowerCase(str));
    }
//判断回文数，比如121是回文数，234不是
    public static boolean isPalindrome(int x) {
        //如果这个数为负数，则一定不是回文数，返回false
        if (x < 0) {
            return false;
        }
        //将x转换为字符串，再将字符串转换为字符数组
        String str = Integer.toString(x);
        char[] data = str.toCharArray();
        int i=0;
        int j=data.length-1;
        while (i<j){
            //如果第一个数和最后一个数不相等，那么一定不是回文数
            if(data[i]!=data[j]){
                return false;
            }
            i++;
            j--;
        }//这样做才能判断从头开始和从尾部开始的每两个数字的值
        return true;
    }
    public static void main2(String[] args) {
        System.out.println(isPalindrome(100021));
    }
}